import HTMLParser
import urllib
import re


urlString = "http://www.lyonix.net/en/about-lyonix/lyonix-users"
urlText = []
pathOut = "ixp_members.txt"


class Parse43 (HTMLParser.HTMLParser):
    
    def handle_starttag (self, tag, attrs):
        if tag == "a":
            for name, value in attrs:
                m = re.search("(as)(\d+)\.html",value)
                if name == "href" and m:
                    if m.group(2) not in urlText:
                        urlText.append(m.group(2))


lparser = Parse43()
page = urllib.urlopen(urlString).read()
# tolgo tutte le occorrenze di "document.write( '</' );" dal codice html
# altrimenti il parser non funziona
page = re.sub("document\.write\( '</' \);", "", page)
# gestisco l'eccezione sollevata quando il parser incontra un carattere non ascii
try:
    lparser.feed(page)
except UnicodeDecodeError:
    # non eseguo alcuna operazione: ignoro semplicemente l'eccezione
    pass
fileOut = open(pathOut, "a")
for item in urlText:
    #print item # debug
    print >> fileOut, "43 %s" % item
fileOut.close()